package lambda01;

import org.junit.Test;
/**
 * 利用匿名内部类来创建一个线程,并且要使用Runnable接口
 * 匿名内部类:
 *   new 父类/父接口(){
 *      //重写父类或者父接口中的方法
 *   };
 *   1.底层会创建一个该父类或父接口的实现类
 *   2.接着在创建该父类或父接口实现类的对象
 *   Thread(Runnable target)
 *           分配新的 Thread 对象。
 */
public class LambdaDemo01 {
    @Test
    public void test01(){
        // 1.创建Runnable接口子类对象
        Runnable r = new Runnable(){
            @Override
            public void run() {
                System.out.println("Hello Thread");  // Hello Thread
            }
        }; // 多态
        new Thread(r).start();
    }

    @Test
    public void test02(){
        new Thread(new Runnable(){
            @Override
            public void run() {
                System.out.println("Hello Thread");
            }
        }).start();
    }
    @Test
    public void test03(){
        new Thread(()->{System.out.println("Hello Thread");}).start();
    }
}
